home *** CD-ROM | disk | FTP | other *** search
- property pArrowsSprite, pTextSprite, pTextField, pCurVal, pActive, pCallBackObj, pRefcon, pMin, pMax
-
- on new me, propList, pArrowsSprite0, pTextSprite0, pTextField0, pMin0, pMax0, pCurVal0, pCallBackObj0, pRefCon0
- set pArrowsSprite to getaProp(propList, #arrowsSprite)
- set pTextSprite to getaProp(propList, #textSprite)
- set pTextField to getaProp(propList, #textField)
- set pMin to getaProp(propList, #min)
- set pMax to getaProp(propList, #max)
- set pCurVal to getaProp(propList, #cur)
- set pActive to getaProp(propList, #active)
- set pCallBackObj to getaProp(propList, #callback)
- set pRefcon to getaProp(propList, #ref)
- put string(pCurVal) into field pTextField
- SetEnabled(me, pActive)
- return me
- end
-
- on wait me, waitTime
- set t to the ticks
- repeat while the ticks < (t + waitTime)
- end repeat
- end
-
- on Arrows me, spriteNum
- if not pActive then
- exit
- end if
- set v1 to the locV of the clickLoc
- set v2 to the locV of sprite the clickOn
- if v1 < v2 then
- set side to "up"
- set d to 1
- else
- set side to "down"
- set d to -1
- end if
- set the member of sprite spriteNum to member ("vertArrows" && side)
- set pCurVal to max(min(pCurVal + d, pMax), pMin)
- SetVal(me, pCurVal)
- updateStage()
- wait(me, 5)
- repeat while the stillDown
- if rollOver(spriteNum) then
- set the member of sprite spriteNum to member ("vertArrows" && side)
- set pCurVal to max(min(pCurVal + d, pMax), pMin)
- else
- set the member of sprite spriteNum to member "vertArrows"
- end if
- SetVal(me, pCurVal)
- wait(me, 5)
- end repeat
- set the member of sprite spriteNum to member "vertArrows"
- if objectp(pCallBackObj) then
- EndChange(pCallBackObj)
- end if
- end
-
- on keyBoardInputDown me, k
- if not pActive then
- exit
- end if
- if "0123456789" & BACKSPACE contains k then
- pass()
- else
- dontPassEvent()
- end if
- end
-
- on keyBoardInputUp me, k
- if not pActive then
- exit
- end if
- set v to value(field pTextField)
- if v < pMin then
- put string(pMin) into field pTextField
- else
- if v > pMax then
- put string(pMax) into field pTextField
- end if
- end if
- set pCurVal to value(field pTextField)
- changeNumber(pCallBackObj, pCurVal, pRefcon)
- end
-
- on TextOut me
- if voidp(pCurVal) then
- put " " into field pTextField
- else
- put string(integer(pCurVal)) into field pTextField
- end if
- end
-
- on SetVal me, newVal
- set pCurVal to newVal
- TextOut(me)
- if objectp(pCallBackObj) then
- changeNumber(pCallBackObj, newVal, pRefcon)
- end if
- end
-
- on SetEnabled me, enabled
- set pActive to enabled
- enableInterfaceElement(pArrowsSprite, enabled)
- enableInterfaceElement(pTextSprite, enabled)
- end
-
- on Release me
- end
-